// Created from GenerationTemplate
// For Decisions HL7 Engine
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using System.Reflection;
using DecisionsFramework.Design.Properties;
using Decisions.HL7.Generated.AbstractMessage;
using Decisions.HL7.DataTypes;
using ST = System.String;
using SI = System.String;
using TX = System.String;
using FT = System.String;
using IS = System.String;
using ID = System.String;
using SNM = System.String;

namespace Decisions.HL7.Message
{
    [DataContract]
	public class OM1 : AbstractSegment
    {

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("1 Sequence Number - Test/Observation Master File",1)]
  	    [HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.True,"NM")]
	    public NM SequenceNumberTestObservationMasterFile {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("2 Producer's Service/Test/Observation ID",2)]
  	    [HL7Field(HL7Version.v23, 2, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 2, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v24, 2, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v25, 2, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 2, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 2, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 2, HL7Repeat.False, HL7Required.True,"CWE")]
		[notableforCE]
	    public CWE ProducersServiceTestObservationID {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("3 Permitted Data Types",3)]
  	    [HL7Field(HL7Version.v23, 3, HL7Repeat.True, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v231, 3, HL7Repeat.True, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v24, 3, HL7Repeat.True, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v25, 3, HL7Repeat.True, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v251, 3, HL7Repeat.True, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v26, 3, HL7Repeat.True, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v27, 3, HL7Repeat.True, HL7Required.True,"ID")]
		[ValueType]
	    public ID[] PermittedDataTypes {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("4 Specimen Required",4)]
  	    [HL7Field(HL7Version.v23, 4, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v231, 4, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v24, 4, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v25, 4, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v251, 4, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v26, 4, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v27, 4, HL7Repeat.False, HL7Required.True,"ID")]
		[YesnoIndicator]
	    public ID SpecimenRequired {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("5 Producer ID",5)]
  	    [HL7Field(HL7Version.v23, 5, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 5, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v24, 5, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v25, 5, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 5, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 5, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 5, HL7Repeat.False, HL7Required.True,"CWE")]
		[notableforCE]
	    public CWE ProducerID {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("6 Observation Description",6)]
  	    [HL7Field(HL7Version.v23, 6, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 6, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v24, 6, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v25, 6, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v251, 6, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v26, 6, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v27, 6, HL7Repeat.False, HL7Required.True,"TX")]
	    public TX ObservationDescription {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("7 Other Service/Test/Observation IDs for the Observation",7)]
  	    [HL7Field(HL7Version.v23, 7, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 7, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v24, 7, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v25, 7, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 7, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 7, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 7, HL7Repeat.False, HL7Required.True,"CWE")]
		[notableforCE]
	    public CWE OtherServiceTestObservationIDsfortheObservation {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("8 Other Names",8)]
  	    [HL7Field(HL7Version.v23, 8, HL7Repeat.True, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v231, 8, HL7Repeat.True, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v24, 8, HL7Repeat.True, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v25, 8, HL7Repeat.True, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v251, 8, HL7Repeat.True, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v26, 8, HL7Repeat.True, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v27, 8, HL7Repeat.True, HL7Required.True,"ST")]
	    public ST[] OtherNames {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("9 Preferred Report Name for the Observation",9)]
  	    [HL7Field(HL7Version.v23, 9, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v231, 9, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v24, 9, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v25, 9, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v251, 9, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v26, 9, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v27, 9, HL7Repeat.False, HL7Required.True,"ST")]
	    public ST PreferredReportNamefortheObservation {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("10 Preferred Short Name or Mnemonic for Observation",10)]
  	    [HL7Field(HL7Version.v23, 10, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v231, 10, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v24, 10, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v25, 10, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v251, 10, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v26, 10, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v27, 10, HL7Repeat.False, HL7Required.True,"ST")]
	    public ST PreferredShortNameorMnemonicforObservation {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("11 Preferred Long Name for the Observation",11)]
  	    [HL7Field(HL7Version.v23, 11, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v231, 11, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v24, 11, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v25, 11, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v251, 11, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v26, 11, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v27, 11, HL7Repeat.False, HL7Required.True,"ST")]
	    public ST PreferredLongNamefortheObservation {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("12 Orderability",12)]
  	    [HL7Field(HL7Version.v23, 12, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v231, 12, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v24, 12, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v25, 12, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v251, 12, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v26, 12, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v27, 12, HL7Repeat.False, HL7Required.True,"ID")]
		[YesnoIndicator]
	    public ID Orderability {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("13 Identity of Instrument Used to Perfrom this Study",13)]
  	    [HL7Field(HL7Version.v23, 13, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 13, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v24, 13, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v25, 13, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 13, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 13, HL7Repeat.True, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 13, HL7Repeat.True, HL7Required.True,"CWE")]
		[notableforCE]
	    public CWE[] IdentityofInstrumentUsedtoPerfromthisStudy {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("14 Coded Representation of Method",14)]
  	    [HL7Field(HL7Version.v23, 14, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 14, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v24, 14, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v25, 14, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 14, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 14, HL7Repeat.True, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 14, HL7Repeat.True, HL7Required.True,"CWE")]
		[notableforCE]
	    public CWE[] CodedRepresentationofMethod {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("15 Portable Device Indicator",15)]
  	    [HL7Field(HL7Version.v23, 15, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v231, 15, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v24, 15, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v25, 15, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v251, 15, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v26, 15, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v27, 15, HL7Repeat.False, HL7Required.True,"ID")]
		[YesnoIndicator]
	    public ID PortableDeviceIndicator {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("16 Observation Producing Department/Section",16)]
  	    [HL7Field(HL7Version.v23, 16, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 16, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v24, 16, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v25, 16, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 16, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 16, HL7Repeat.True, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 16, HL7Repeat.True, HL7Required.True,"CWE")]
		[notableforCE]
	    public CWE[] ObservationProducingDepartmentSection {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("17 Telephone Number of Section",17)]
  	    [HL7Field(HL7Version.v23, 17, HL7Repeat.False, HL7Required.True,"TN")]
  	    [HL7Field(HL7Version.v231, 17, HL7Repeat.False, HL7Required.True,"XTN")]
  	    [HL7Field(HL7Version.v24, 17, HL7Repeat.False, HL7Required.True,"XTN")]
  	    [HL7Field(HL7Version.v25, 17, HL7Repeat.False, HL7Required.True,"XTN")]
  	    [HL7Field(HL7Version.v251, 17, HL7Repeat.False, HL7Required.True,"XTN")]
  	    [HL7Field(HL7Version.v26, 17, HL7Repeat.False, HL7Required.True,"XTN")]
  	    [HL7Field(HL7Version.v27, 17, HL7Repeat.False, HL7Required.True,"XTN")]
	    public XTN TelephoneNumberofSection {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("18 Nature of Service/Test/Observation",18)]
  	    [HL7Field(HL7Version.v23, 18, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v231, 18, HL7Repeat.False, HL7Required.True,"IS")]
  	    [HL7Field(HL7Version.v24, 18, HL7Repeat.False, HL7Required.True,"IS")]
  	    [HL7Field(HL7Version.v25, 18, HL7Repeat.False, HL7Required.True,"IS")]
  	    [HL7Field(HL7Version.v251, 18, HL7Repeat.False, HL7Required.True,"IS")]
  	    [HL7Field(HL7Version.v26, 18, HL7Repeat.False, HL7Required.True,"IS")]
  	    [HL7Field(HL7Version.v27, 18, HL7Repeat.False, HL7Required.True,"CWE")]
		[NatureofServiceTestObservation]
	    public CWE NatureofServiceTestObservation {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("19 Report Subheader",19)]
  	    [HL7Field(HL7Version.v23, 19, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 19, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v24, 19, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v25, 19, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 19, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 19, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 19, HL7Repeat.False, HL7Required.True,"CWE")]
		[notableforCE]
	    public CWE ReportSubheader {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("20 Report Display Order",20)]
  	    [HL7Field(HL7Version.v23, 20, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v231, 20, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v24, 20, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v25, 20, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v251, 20, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v26, 20, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v27, 20, HL7Repeat.False, HL7Required.True,"ST")]
	    public ST ReportDisplayOrder {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("21 Date/Time Stamp for Any Change in Definition for the Observation",21)]
  	    [HL7Field(HL7Version.v23, 21, HL7Repeat.False, HL7Required.True,"TS")]
  	    [HL7Field(HL7Version.v231, 21, HL7Repeat.False, HL7Required.True,"TS")]
  	    [HL7Field(HL7Version.v24, 21, HL7Repeat.False, HL7Required.True,"TS")]
  	    [HL7Field(HL7Version.v25, 21, HL7Repeat.False, HL7Required.True,"TS")]
  	    [HL7Field(HL7Version.v251, 21, HL7Repeat.False, HL7Required.True,"TS")]
  	    [HL7Field(HL7Version.v26, 21, HL7Repeat.False, HL7Required.True,"DTM")]
  	    [HL7Field(HL7Version.v27, 21, HL7Repeat.False, HL7Required.True,"DTM")]
	    public DTM DateTimeStampforAnyChangeinDefinitionfortheObservation {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("22 Effective Date/Time of Change",22)]
  	    [HL7Field(HL7Version.v23, 22, HL7Repeat.False, HL7Required.True,"TS")]
  	    [HL7Field(HL7Version.v231, 22, HL7Repeat.False, HL7Required.True,"TS")]
  	    [HL7Field(HL7Version.v24, 22, HL7Repeat.False, HL7Required.True,"TS")]
  	    [HL7Field(HL7Version.v25, 22, HL7Repeat.False, HL7Required.True,"TS")]
  	    [HL7Field(HL7Version.v251, 22, HL7Repeat.False, HL7Required.True,"TS")]
  	    [HL7Field(HL7Version.v26, 22, HL7Repeat.False, HL7Required.True,"DTM")]
  	    [HL7Field(HL7Version.v27, 22, HL7Repeat.False, HL7Required.True,"DTM")]
	    public DTM EffectiveDateTimeofChange {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("23 Typical Turn-Around Time",23)]
  	    [HL7Field(HL7Version.v23, 23, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v231, 23, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v24, 23, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v25, 23, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v251, 23, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v26, 23, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v27, 23, HL7Repeat.False, HL7Required.True,"NM")]
	    public NM TypicalTurnAroundTime {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("24 Processing Time",24)]
  	    [HL7Field(HL7Version.v23, 24, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v231, 24, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v24, 24, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v25, 24, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v251, 24, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v26, 24, HL7Repeat.False, HL7Required.True,"NM")]
  	    [HL7Field(HL7Version.v27, 24, HL7Repeat.False, HL7Required.True,"NM")]
	    public NM ProcessingTime {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("25 Processing Priority",25)]
  	    [HL7Field(HL7Version.v23, 25, HL7Repeat.True, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v231, 25, HL7Repeat.True, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v24, 25, HL7Repeat.True, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v25, 25, HL7Repeat.True, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v251, 25, HL7Repeat.True, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v26, 25, HL7Repeat.True, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v27, 25, HL7Repeat.True, HL7Required.True,"ID")]
		[ProcessingPriority]
	    public ID[] ProcessingPriority {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("26 Reporting Priority",26)]
  	    [HL7Field(HL7Version.v23, 26, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v231, 26, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v24, 26, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v25, 26, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v251, 26, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v26, 26, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v27, 26, HL7Repeat.False, HL7Required.True,"ID")]
		[ReportingPriority]
	    public ID ReportingPriority {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("27 Outside Site(s) Where Observation May Be Performed",27)]
  	    [HL7Field(HL7Version.v23, 27, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 27, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v24, 27, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v25, 27, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 27, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 27, HL7Repeat.True, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 27, HL7Repeat.True, HL7Required.True,"CWE")]
		[notableforCE]
	    public CWE[] OutsideSitesWhereObservationMayBePerformed {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("28 Address of Outside Site(s)",28)]
  	    [HL7Field(HL7Version.v23, 28, HL7Repeat.False, HL7Required.True,"AD")]
  	    [HL7Field(HL7Version.v231, 28, HL7Repeat.True, HL7Required.True,"XAD")]
  	    [HL7Field(HL7Version.v24, 28, HL7Repeat.True, HL7Required.True,"XAD")]
  	    [HL7Field(HL7Version.v25, 28, HL7Repeat.True, HL7Required.True,"XAD")]
  	    [HL7Field(HL7Version.v251, 28, HL7Repeat.True, HL7Required.True,"XAD")]
  	    [HL7Field(HL7Version.v26, 28, HL7Repeat.True, HL7Required.True,"XAD")]
  	    [HL7Field(HL7Version.v27, 28, HL7Repeat.True, HL7Required.True,"XAD")]
	    public XAD[] AddressofOutsideSites {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("29 Phone Number of Outside Site",29)]
  	    [HL7Field(HL7Version.v23, 29, HL7Repeat.False, HL7Required.True,"TN")]
  	    [HL7Field(HL7Version.v231, 29, HL7Repeat.False, HL7Required.True,"XTN")]
  	    [HL7Field(HL7Version.v24, 29, HL7Repeat.False, HL7Required.True,"XTN")]
  	    [HL7Field(HL7Version.v25, 29, HL7Repeat.False, HL7Required.True,"XTN")]
  	    [HL7Field(HL7Version.v251, 29, HL7Repeat.False, HL7Required.True,"XTN")]
  	    [HL7Field(HL7Version.v26, 29, HL7Repeat.False, HL7Required.True,"XTN")]
  	    [HL7Field(HL7Version.v27, 29, HL7Repeat.False, HL7Required.True,"XTN")]
	    public XTN PhoneNumberofOutsideSite {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("30 Confidentiality Code",30)]
  	    [HL7Field(HL7Version.v23, 30, HL7Repeat.False, HL7Required.True,"ID")]
  	    [HL7Field(HL7Version.v231, 30, HL7Repeat.False, HL7Required.True,"IS")]
  	    [HL7Field(HL7Version.v24, 30, HL7Repeat.False, HL7Required.True,"IS")]
  	    [HL7Field(HL7Version.v25, 30, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v251, 30, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v26, 30, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 30, HL7Repeat.False, HL7Required.True,"CWE")]
		[ConfidentialityCode]
	    public CWE ConfidentialityCode {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("31 Observations Required to Interpret this Observation",31)]
  	    [HL7Field(HL7Version.v23, 31, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 31, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v24, 31, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v25, 31, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 31, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 31, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 31, HL7Repeat.False, HL7Required.True,"CWE")]
		[notableforCE]
	    public CWE ObservationsRequiredtoInterpretthisObservation {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("32 Interpretation of Observations",32)]
  	    [HL7Field(HL7Version.v23, 32, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v231, 32, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v24, 32, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v25, 32, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v251, 32, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v26, 32, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v27, 32, HL7Repeat.False, HL7Required.True,"TX")]
	    public TX InterpretationofObservations {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("33 Contraindications to Observations",33)]
  	    [HL7Field(HL7Version.v23, 33, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 33, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v24, 33, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v25, 33, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 33, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 33, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 33, HL7Repeat.False, HL7Required.True,"CWE")]
		[notableforCE]
	    public CWE ContraindicationstoObservations {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("34 Reflex Tests/Observations",34)]
  	    [HL7Field(HL7Version.v23, 34, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 34, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v24, 34, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v25, 34, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 34, HL7Repeat.True, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 34, HL7Repeat.True, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 34, HL7Repeat.True, HL7Required.True,"CWE")]
		[notableforCE]
	    public CWE[] ReflexTestsObservations {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("35 Rules that Trigger Reflex Testing",35)]
  	    [HL7Field(HL7Version.v23, 35, HL7Repeat.False, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v231, 35, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v24, 35, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v25, 35, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v251, 35, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v26, 35, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v27, 35, HL7Repeat.False, HL7Required.True,"TX")]
	    public TX RulesthatTriggerReflexTesting {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("36 Fixed Canned Message",36)]
  	    [HL7Field(HL7Version.v23, 36, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 36, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v24, 36, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v25, 36, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 36, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 36, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 36, HL7Repeat.False, HL7Required.True,"CWE")]
		[notableforCE]
	    public CWE FixedCannedMessage {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("37 Patient Preparation",37)]
  	    [HL7Field(HL7Version.v23, 37, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v231, 37, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v24, 37, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v25, 37, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v251, 37, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v26, 37, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v27, 37, HL7Repeat.False, HL7Required.True,"TX")]
	    public TX PatientPreparation {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("38 Procedure Medication",38)]
  	    [HL7Field(HL7Version.v23, 38, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 38, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v24, 38, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v25, 38, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 38, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 38, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 38, HL7Repeat.False, HL7Required.True,"CWE")]
		[notableforCE]
	    public CWE ProcedureMedication {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("39 Factors that may Affect the Observation",39)]
  	    [HL7Field(HL7Version.v23, 39, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v231, 39, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v24, 39, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v25, 39, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v251, 39, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v26, 39, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v27, 39, HL7Repeat.False, HL7Required.True,"TX")]
	    public TX FactorsthatmayAffecttheObservation {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("40 Service/Test/Observation Performance Schedule",40)]
  	    [HL7Field(HL7Version.v23, 40, HL7Repeat.True, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v231, 40, HL7Repeat.True, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v24, 40, HL7Repeat.True, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v25, 40, HL7Repeat.True, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v251, 40, HL7Repeat.True, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v26, 40, HL7Repeat.True, HL7Required.True,"ST")]
  	    [HL7Field(HL7Version.v27, 40, HL7Repeat.True, HL7Required.True,"ST")]
	    public ST[] ServiceTestObservationPerformanceSchedule {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("41 Description of Test Methods",41)]
  	    [HL7Field(HL7Version.v23, 41, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v231, 41, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v24, 41, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v25, 41, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v251, 41, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v26, 41, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v27, 41, HL7Repeat.False, HL7Required.True,"TX")]
	    public TX DescriptionofTestMethods {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("42 Kind of Quantity Observed",42)]
  	    [HL7Field(HL7Version.v23, 42, HL7Repeat.False, HL7Required.True,"CE_0254")]
  	    [HL7Field(HL7Version.v231, 42, HL7Repeat.False, HL7Required.True,"CE_0254")]
  	    [HL7Field(HL7Version.v24, 42, HL7Repeat.False, HL7Required.True,"CE_0254")]
  	    [HL7Field(HL7Version.v25, 42, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 42, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 42, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 42, HL7Repeat.False, HL7Required.True,"CWE")]
		[KindofQuantity]
	    public CWE KindofQuantityObserved {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("43 Point Versus Interval",43)]
  	    [HL7Field(HL7Version.v23, 43, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 43, HL7Repeat.False, HL7Required.True,"CE_0255")]
  	    [HL7Field(HL7Version.v24, 43, HL7Repeat.False, HL7Required.True,"CE_0255")]
  	    [HL7Field(HL7Version.v25, 43, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 43, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 43, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 43, HL7Repeat.False, HL7Required.True,"CWE")]
		[DurationCategories]
	    public CWE PointVersusInterval {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("44 Challenge Information",44)]
  	    [HL7Field(HL7Version.v23, 44, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v231, 44, HL7Repeat.False, HL7Required.True,"TX_CHALLENGE")]
  	    [HL7Field(HL7Version.v24, 44, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v25, 44, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v251, 44, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v26, 44, HL7Repeat.False, HL7Required.True,"TX")]
  	    [HL7Field(HL7Version.v27, 44, HL7Repeat.False, HL7Required.True,"TX")]
		[TimeDelayPostChallenge]
	    public TX ChallengeInformation {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("45 Relationship Modifier",45)]
  	    [HL7Field(HL7Version.v23, 45, HL7Repeat.False, HL7Required.True,"CE_0258")]
  	    [HL7Field(HL7Version.v231, 45, HL7Repeat.False, HL7Required.True,"CE_0258")]
  	    [HL7Field(HL7Version.v24, 45, HL7Repeat.False, HL7Required.True,"CE_0258")]
  	    [HL7Field(HL7Version.v25, 45, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 45, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 45, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 45, HL7Repeat.False, HL7Required.True,"CWE")]
		[RelationshipModifier]
	    public CWE RelationshipModifier {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("46 Target Anatomic Site Of Test",46)]
  	    [HL7Field(HL7Version.v23, 46, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v231, 46, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v24, 46, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v25, 46, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 46, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 46, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 46, HL7Repeat.False, HL7Required.True,"CWE")]
		[notableforCE]
	    public CWE TargetAnatomicSiteOfTest {get;set;}

        /// -----------------------------
        /// -----------------------------
		[DataMember]
    	[PropertyClassification("47 Modality of Imaging Measurement",47)]
  	    [HL7Field(HL7Version.v23, 47, HL7Repeat.False, HL7Required.True,"CE_0259")]
  	    [HL7Field(HL7Version.v231, 47, HL7Repeat.False, HL7Required.True,"CE_0259")]
  	    [HL7Field(HL7Version.v24, 47, HL7Repeat.False, HL7Required.True,"CE_0259")]
  	    [HL7Field(HL7Version.v25, 47, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v251, 47, HL7Repeat.False, HL7Required.True,"CE")]
  	    [HL7Field(HL7Version.v26, 47, HL7Repeat.False, HL7Required.True,"CWE")]
  	    [HL7Field(HL7Version.v27, 47, HL7Repeat.False, HL7Required.True,"CWE")]
		[AcquisitionModality]
	    public CWE ModalityofImagingMeasurement {get;set;}


	    [DataMember]
        [PropertyClassification("AdditionalValue1", 48)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue1 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue2", 49)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue2 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue3", 50)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue3 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue4", 51)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue4 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue5", 52)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue5 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue6", 53)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue6 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue7", 54)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue7 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue8", 55)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue8 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue9", 56)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue9 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue10", 57)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue10 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue11", 58)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue11 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue12", 59)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue12 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue13", 60)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue13 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue14", 61)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue14 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue15", 62)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue15 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue16", 63)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue16 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue17", 64)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue17 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue18", 65)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue18 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue19", 66)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue19 { get; set; }

		    [DataMember]
        [PropertyClassification("AdditionalValue20", 67)]
		[HL7Field(HL7Version.v23, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v231, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v24, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v25, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v251, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v26, 1, HL7Repeat.False, HL7Required.False)]
  	    [HL7Field(HL7Version.v27, 1, HL7Repeat.False, HL7Required.False)]
		public string AdditionalValue20 { get; set; }

	

		internal override void ConsumeTextSegment(string segmentTextData, HL7ParserOptions options)
		{
			string[] segmentTextParts = segmentTextData.Split(new char[] { options.FieldSep }, StringSplitOptions.None);
			SequenceNumberTestObservationMasterFile = (NM)ParseTextAtPositionIntoData(segmentTextParts, 1, options, typeof(NM), "OM1.1");
			ProducersServiceTestObservationID = (CWE)ParseTextAtPositionIntoData(segmentTextParts, 2, options, typeof(CWE), "OM1.2");
	    	PermittedDataTypes = (ID[])ParseTextAtPositionIntoDataArray<ID>(segmentTextParts, 3, options, "OM1.3");
			SpecimenRequired = (ID)ParseTextAtPositionIntoData(segmentTextParts, 4, options, typeof(ID), "OM1.4");
			ProducerID = (CWE)ParseTextAtPositionIntoData(segmentTextParts, 5, options, typeof(CWE), "OM1.5");
			ObservationDescription = (TX)ParseTextAtPositionIntoData(segmentTextParts, 6, options, typeof(TX), "OM1.6");
			OtherServiceTestObservationIDsfortheObservation = (CWE)ParseTextAtPositionIntoData(segmentTextParts, 7, options, typeof(CWE), "OM1.7");
	    	OtherNames = (ST[])ParseTextAtPositionIntoDataArray<ST>(segmentTextParts, 8, options, "OM1.8");
			PreferredReportNamefortheObservation = (ST)ParseTextAtPositionIntoData(segmentTextParts, 9, options, typeof(ST), "OM1.9");
			PreferredShortNameorMnemonicforObservation = (ST)ParseTextAtPositionIntoData(segmentTextParts, 10, options, typeof(ST), "OM1.10");
			PreferredLongNamefortheObservation = (ST)ParseTextAtPositionIntoData(segmentTextParts, 11, options, typeof(ST), "OM1.11");
			Orderability = (ID)ParseTextAtPositionIntoData(segmentTextParts, 12, options, typeof(ID), "OM1.12");
	    	IdentityofInstrumentUsedtoPerfromthisStudy = (CWE[])ParseTextAtPositionIntoDataArray<CWE>(segmentTextParts, 13, options, "OM1.13");
	    	CodedRepresentationofMethod = (CWE[])ParseTextAtPositionIntoDataArray<CWE>(segmentTextParts, 14, options, "OM1.14");
			PortableDeviceIndicator = (ID)ParseTextAtPositionIntoData(segmentTextParts, 15, options, typeof(ID), "OM1.15");
	    	ObservationProducingDepartmentSection = (CWE[])ParseTextAtPositionIntoDataArray<CWE>(segmentTextParts, 16, options, "OM1.16");
			TelephoneNumberofSection = (XTN)ParseTextAtPositionIntoData(segmentTextParts, 17, options, typeof(XTN), "OM1.17");
			NatureofServiceTestObservation = (CWE)ParseTextAtPositionIntoData(segmentTextParts, 18, options, typeof(CWE), "OM1.18");
			ReportSubheader = (CWE)ParseTextAtPositionIntoData(segmentTextParts, 19, options, typeof(CWE), "OM1.19");
			ReportDisplayOrder = (ST)ParseTextAtPositionIntoData(segmentTextParts, 20, options, typeof(ST), "OM1.20");
			DateTimeStampforAnyChangeinDefinitionfortheObservation = (DTM)ParseTextAtPositionIntoData(segmentTextParts, 21, options, typeof(DTM), "OM1.21");
			EffectiveDateTimeofChange = (DTM)ParseTextAtPositionIntoData(segmentTextParts, 22, options, typeof(DTM), "OM1.22");
			TypicalTurnAroundTime = (NM)ParseTextAtPositionIntoData(segmentTextParts, 23, options, typeof(NM), "OM1.23");
			ProcessingTime = (NM)ParseTextAtPositionIntoData(segmentTextParts, 24, options, typeof(NM), "OM1.24");
	    	ProcessingPriority = (ID[])ParseTextAtPositionIntoDataArray<ID>(segmentTextParts, 25, options, "OM1.25");
			ReportingPriority = (ID)ParseTextAtPositionIntoData(segmentTextParts, 26, options, typeof(ID), "OM1.26");
	    	OutsideSitesWhereObservationMayBePerformed = (CWE[])ParseTextAtPositionIntoDataArray<CWE>(segmentTextParts, 27, options, "OM1.27");
	    	AddressofOutsideSites = (XAD[])ParseTextAtPositionIntoDataArray<XAD>(segmentTextParts, 28, options, "OM1.28");
			PhoneNumberofOutsideSite = (XTN)ParseTextAtPositionIntoData(segmentTextParts, 29, options, typeof(XTN), "OM1.29");
			ConfidentialityCode = (CWE)ParseTextAtPositionIntoData(segmentTextParts, 30, options, typeof(CWE), "OM1.30");
			ObservationsRequiredtoInterpretthisObservation = (CWE)ParseTextAtPositionIntoData(segmentTextParts, 31, options, typeof(CWE), "OM1.31");
			InterpretationofObservations = (TX)ParseTextAtPositionIntoData(segmentTextParts, 32, options, typeof(TX), "OM1.32");
			ContraindicationstoObservations = (CWE)ParseTextAtPositionIntoData(segmentTextParts, 33, options, typeof(CWE), "OM1.33");
	    	ReflexTestsObservations = (CWE[])ParseTextAtPositionIntoDataArray<CWE>(segmentTextParts, 34, options, "OM1.34");
			RulesthatTriggerReflexTesting = (TX)ParseTextAtPositionIntoData(segmentTextParts, 35, options, typeof(TX), "OM1.35");
			FixedCannedMessage = (CWE)ParseTextAtPositionIntoData(segmentTextParts, 36, options, typeof(CWE), "OM1.36");
			PatientPreparation = (TX)ParseTextAtPositionIntoData(segmentTextParts, 37, options, typeof(TX), "OM1.37");
			ProcedureMedication = (CWE)ParseTextAtPositionIntoData(segmentTextParts, 38, options, typeof(CWE), "OM1.38");
			FactorsthatmayAffecttheObservation = (TX)ParseTextAtPositionIntoData(segmentTextParts, 39, options, typeof(TX), "OM1.39");
	    	ServiceTestObservationPerformanceSchedule = (ST[])ParseTextAtPositionIntoDataArray<ST>(segmentTextParts, 40, options, "OM1.40");
			DescriptionofTestMethods = (TX)ParseTextAtPositionIntoData(segmentTextParts, 41, options, typeof(TX), "OM1.41");
			KindofQuantityObserved = (CWE)ParseTextAtPositionIntoData(segmentTextParts, 42, options, typeof(CWE), "OM1.42");
			PointVersusInterval = (CWE)ParseTextAtPositionIntoData(segmentTextParts, 43, options, typeof(CWE), "OM1.43");
			ChallengeInformation = (TX)ParseTextAtPositionIntoData(segmentTextParts, 44, options, typeof(TX), "OM1.44");
			RelationshipModifier = (CWE)ParseTextAtPositionIntoData(segmentTextParts, 45, options, typeof(CWE), "OM1.45");
			TargetAnatomicSiteOfTest = (CWE)ParseTextAtPositionIntoData(segmentTextParts, 46, options, typeof(CWE), "OM1.46");
			ModalityofImagingMeasurement = (CWE)ParseTextAtPositionIntoData(segmentTextParts, 47, options, typeof(CWE), "OM1.47");
		}

		public string GetER7(HL7ParserOptions options) {
			List<string> segmentParts = new List<string>();
			segmentParts.Add("OM1");
			segmentParts.Add(GetER7TextForSegmentPart(SequenceNumberTestObservationMasterFile, options));
			segmentParts.Add(GetER7TextForSegmentPart(ProducersServiceTestObservationID, options));
		    segmentParts.Add(ConvertStringArray(PermittedDataTypes, options));
		    segmentParts.Add(SpecimenRequired);
			segmentParts.Add(GetER7TextForSegmentPart(ProducerID, options));
		    segmentParts.Add(ObservationDescription);
			segmentParts.Add(GetER7TextForSegmentPart(OtherServiceTestObservationIDsfortheObservation, options));
		    segmentParts.Add(ConvertStringArray(OtherNames, options));
		    segmentParts.Add(PreferredReportNamefortheObservation);
		    segmentParts.Add(PreferredShortNameorMnemonicforObservation);
		    segmentParts.Add(PreferredLongNamefortheObservation);
		    segmentParts.Add(Orderability);
		    segmentParts.Add(GetER7TextForSegmentArrayPart(IdentityofInstrumentUsedtoPerfromthisStudy, options));
		    segmentParts.Add(GetER7TextForSegmentArrayPart(CodedRepresentationofMethod, options));
		    segmentParts.Add(PortableDeviceIndicator);
		    segmentParts.Add(GetER7TextForSegmentArrayPart(ObservationProducingDepartmentSection, options));
			segmentParts.Add(GetER7TextForSegmentPart(TelephoneNumberofSection, options));
			segmentParts.Add(GetER7TextForSegmentPart(NatureofServiceTestObservation, options));
			segmentParts.Add(GetER7TextForSegmentPart(ReportSubheader, options));
		    segmentParts.Add(ReportDisplayOrder);
			segmentParts.Add(GetER7TextForSegmentPart(DateTimeStampforAnyChangeinDefinitionfortheObservation, options));
			segmentParts.Add(GetER7TextForSegmentPart(EffectiveDateTimeofChange, options));
			segmentParts.Add(GetER7TextForSegmentPart(TypicalTurnAroundTime, options));
			segmentParts.Add(GetER7TextForSegmentPart(ProcessingTime, options));
		    segmentParts.Add(ConvertStringArray(ProcessingPriority, options));
		    segmentParts.Add(ReportingPriority);
		    segmentParts.Add(GetER7TextForSegmentArrayPart(OutsideSitesWhereObservationMayBePerformed, options));
		    segmentParts.Add(GetER7TextForSegmentArrayPart(AddressofOutsideSites, options));
			segmentParts.Add(GetER7TextForSegmentPart(PhoneNumberofOutsideSite, options));
			segmentParts.Add(GetER7TextForSegmentPart(ConfidentialityCode, options));
			segmentParts.Add(GetER7TextForSegmentPart(ObservationsRequiredtoInterpretthisObservation, options));
		    segmentParts.Add(InterpretationofObservations);
			segmentParts.Add(GetER7TextForSegmentPart(ContraindicationstoObservations, options));
		    segmentParts.Add(GetER7TextForSegmentArrayPart(ReflexTestsObservations, options));
		    segmentParts.Add(RulesthatTriggerReflexTesting);
			segmentParts.Add(GetER7TextForSegmentPart(FixedCannedMessage, options));
		    segmentParts.Add(PatientPreparation);
			segmentParts.Add(GetER7TextForSegmentPart(ProcedureMedication, options));
		    segmentParts.Add(FactorsthatmayAffecttheObservation);
		    segmentParts.Add(ConvertStringArray(ServiceTestObservationPerformanceSchedule, options));
		    segmentParts.Add(DescriptionofTestMethods);
			segmentParts.Add(GetER7TextForSegmentPart(KindofQuantityObserved, options));
			segmentParts.Add(GetER7TextForSegmentPart(PointVersusInterval, options));
		    segmentParts.Add(ChallengeInformation);
			segmentParts.Add(GetER7TextForSegmentPart(RelationshipModifier, options));
			segmentParts.Add(GetER7TextForSegmentPart(TargetAnatomicSiteOfTest, options));
			segmentParts.Add(GetER7TextForSegmentPart(ModalityofImagingMeasurement, options));
			return string.Join("" + options.FieldSep, segmentParts.ToArray());
		}

    }
}

